From: Boris Ostrovsky Date: Wed, 18 Mar 2015 13:19:01 +0000 (+0100) Subject: x86/VPMU: VPMU should not exist when vpmu_initialise() is called X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~3572^2~3 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=a47d6cdb07709c941993e334f9bd82b3aec11dac;p=xen.git x86/VPMU: VPMU should not exist when vpmu_initialise() is called We don't need to try to destroy it since it can't be already allocated at the time we try to initialize it. Suggested-by: Andrew Cooper Signed-off-by: Boris Ostrovsky --- diff --git a/xen/arch/x86/hvm/svm/vpmu.c b/xen/arch/x86/hvm/svm/vpmu.c index 64dc1678f1..6764070ddb 100644 --- a/xen/arch/x86/hvm/svm/vpmu.c +++ b/xen/arch/x86/hvm/svm/vpmu.c @@ -359,9 +359,6 @@ static int amd_vpmu_initialise(struct vcpu *v) struct vpmu_struct *vpmu = vcpu_vpmu(v); uint8_t family = current_cpu_data.x86; - if ( vpmu_is_set(vpmu, VPMU_CONTEXT_ALLOCATED) ) - return 0; - if ( counters == NULL ) { switch ( family ) diff --git a/xen/arch/x86/hvm/vpmu.c b/xen/arch/x86/hvm/vpmu.c index 0e6b6c022b..c3273ee64b 100644 --- a/xen/arch/x86/hvm/vpmu.c +++ b/xen/arch/x86/hvm/vpmu.c @@ -236,10 +236,7 @@ void vpmu_initialise(struct vcpu *v) if ( is_pvh_vcpu(v) ) return; - if ( vpmu_is_set(vpmu, VPMU_CONTEXT_ALLOCATED) ) - vpmu_destroy(v); - vpmu_clear(vpmu); - vpmu->context = NULL; + ASSERT(!vpmu->flags && !vpmu->context); switch ( vendor ) {